package com.qys.livesMall.anchor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qys.livesMall.anchor.model.dto.lives.app.BanUserDTO;
import com.qys.livesMall.anchor.model.entity.LivesRoomAdmin;

/**
 * 直播间管理员表(LivesRoomAdmin)表服务接口
 *
 * @author makejava
 * @since 2023-09-12 10:02:05
 */
public interface LivesRoomAdminService extends IService<LivesRoomAdmin> {

    /**
     * 设置直播间管理员
     * @param userId
     */
    void setAdmin(Long userId);

    /**
     * 判断用户是否是直播间管理员
     * @param liveRoomNumber 房间编号
     * @param userId 用户id
     * @return
     */
    Boolean isRoomAdmin(String liveRoomNumber, Long userId);

    /**
     * 封禁用户
     * @param dto
     */
    void banUser(BanUserDTO dto);

    /**
     * 判断用户是否被禁止进入直播间
     * @param livesSessionId 直播场次id
     * @param userId 用户id
     */
    Boolean isBan(Long livesSessionId, Long userId);

    /**
     * 主播设置禁言
     * @param groupId
     * @param type
     */
    Integer forbidSendMsg(Long groupId, Integer type);

    /**
     * 查询直播场次的禁言状态
     * @param sessionId
     * @return 1所有人，2我关注的人，3我的粉丝
     */
    Integer getForbidSendMsgStatus(Long sessionId);

    /**
     * 判断用户是否被禁言
     * @param liveRoomNumber
     * @param userId
     * @return
     */
    Boolean isForbidSendMsg(String liveRoomNumber, Long userId);
}

